<?php //====================================================================================== // // Function: Maintain customer log // // Programmer: AR // Date : 2025-05-27 // // https://datatables.net/plug-ins/sorting/natural // <script src="https://cdn.datatables.net/plug-ins/2.2.1/sorting/natural.min.js"></script> // // Copyright Reeft A/S (c) - 2025 //====================================================================================== //====================================================================================== // Get input //====================================================================================== if (isset($_REQUEST["timeStamp"])) { $timeStamp = $_REQUEST["timeStamp"]; } else { $timeStamp = ''; } if (isset($_REQUEST["cust_number"])) { $cust_number = $_REQUEST["cust_number"]; } else { $cust_number = ''; } if (isset($_REQUEST["cust_name"])) { $cust_name = $_REQUEST["cust_name"]; } else { $cust_name = ''; } if (isset($_REQUEST["fileformat_codepage"])) { $fileformat_codepage = $_REQUEST["fileformat_codepage"]; } else { $fileformat_codepage = 'windows-1252'; } //====================================================================================== // Set defaults //====================================================================================== $fromdate = date("Y-m-d",strtotime("-1 month")); $fromtime = date("H:i"); $todate = date("Y-m-d"); $totime = date("H:i",strtotime("+1 hour")); //====================================================================================== // Make line uppercase //====================================================================================== //====================================================================================== // General config //====================================================================================== include "config/config.php"; //====================================================================================== // Check if user is logged in? //====================================================================================== include "login_check.php"; //====================================================================================== // Get session variables //====================================================================================== include "include/getsession.php"; // include "include/uuid_create.php"; // include "include/generate_password_md5.php"; //====================================================================================== // Set language //====================================================================================== include "include/set_language.php"; //====================================================================================== // Set defaults //====================================================================================== // $pk_pk_key = $_SESSION['session_dft_pk_pk_key']; // $pk_keyCode = $_SESSION['session_dft_pk_keycode']; // $pk_keyName = $_SESSION['session_dft_pk_keyname']; //====================================================================================== ?> <!DOCTYPE html> <html lang="en"> <head> <title><?php echo $reeft_text0001 ?></title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content="REEFTvisual - Stoptime"> <meta name="author" content="REEFT A/S"> <link rel="icon" href="images/favicon/favicon.ico"> <!-- Bootstrap / jQuery --> <link href="css/bootstrap4.3.1/css/bootstrap.custom.min.css" rel="stylesheet"> <link href="css/bootstrap4.3.1/css/themes/bootstrap.custom.min.css" rel="stylesheet"> <link href="css/bootstrap4.3.1/css/normalize.css" rel="stylesheet" type="text/css"> <link href="css/sticky-footer.css" rel="stylesheet" type="text/css"> <!-- Custom styles for this template --> <link href="css/custom.css" rel="stylesheet"> <link href="css/style.css" rel="stylesheet"> <script src="css/fontawesome6.5.1/js/all.min.js"></script> <script src="css/fontawesome6.5.1/js/sharp-light.min.js"></script> <script src="css/fontawesome6.5.1/js/sharp-regular.min.js"></script> <script src="css/fontawesome6.5.1/js/sharp-solid.min.js"></script> <script src="css/fontawesome6.5.1/js/sharp-thin.min.js"></script> <link href="css/bootstrap_animation/css/animate4/animate.css" rel="stylesheet" type="text/css"> <!--<link href="javascript/chosen/chosen.css" rel="stylesheet" type="text/css">--> <link href="javascript/jquery-ui/jquery-ui.min.css" rel="stylesheet" type="text/css"/> <script src="javascript/jquery.js"></script> <script src="css/bootstrap4.3.1/js/popper.js"></script> <script src="css/bootstrap4.3.1/js/bootstrap.min.js"></script> <script src="javascript/jquery-ui/jquery-ui.min.js"></script> <script src="javascript/jquery.ui.touch-punch.min.js"></script> <link href="javascript/bgrins-spectrum/spectrum.css" rel="stylesheet" type="text/css"> <script src="javascript/bgrins-spectrum/spectrum.js"></script> <script src="javascript/moment.min.js"></script> <script src="javascript/moment-with-locales.min.js"></script> <script src="javascript/moment-duration-format.min.js"></script> <script src="javascript/number_format/jquery.number.min.js"></script> <script src="javascript/jquery.scrollTo.min.js"></script> <!-- Data tables start --> <link href="javascript/datatables.3.12/datatables.min.css" rel="stylesheet"> <script src="javascript/datatables.3.12/datatables.min.js"></script> <!-- Data tables end --> <script src="javascript/chosen/chosen.jquery.min.js" type="text/javascript"></script> <script src="javascript/viewer-master/dist/viewer.min.js"></script> <link href="javascript/viewer-master/dist/viewer.min.css" rel="stylesheet"> <script src="javascript/ajaxq/ajaxq.js"></script> <link id="scrollUpTheme" rel="stylesheet" href="javascript/scrollup-master/dist/css/themes/image.css"> <script src="javascript/scrollup-master/dist/jquery.scrollUp.js"></script> <script src="javascript/shortcut.js"></script> <script src="javascript/filesaver.js-master/dist/FileSaver.js"></script> <script src="javascript/_reeft_js/set_font_awesome_icon_type.js"></script> <script src="javascript/_reeft_js/date_convert.js"></script> <style> #REEFTvisual_data_processing { position: absolute; top: 15% !important; background: #ccc; border: 1px solid black; border-radius: 3px; font-weight: bold; width: 300px; } .btn-custom-wide { height:60px; width:210px; } .text-truncate-dt { max-width: 450px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .overflow-class { width: 100%; /*height:700px;*/ max-height: calc(100vh - 283px); overflow-y: scroll; overflow-x: scroll; } .overflow-class-modal-body { width: 99%; max-height: calc(100vh - 283px); overflow-y: scroll; overflow-x: hidden; } .text-align-center-dt { text-align: center; } .text-align-left-dt { text-align: left; } .text-align-right-dt { text-align: right; } .modal-xxl { max-width: 80%; } .modal-xl { max-width: 50%; } .border-3 { border-width:3px !important; } td .hover-img { position:relative; } td .hover-img span { position:absolute; left:-9999px; top:-9999px; z-index:9999; } td:hover .hover-img span { top: 5px; left:0px; } .chosen-container-single { min-width: 100%; } #modal-LOG-list-data-result { white-space: nowrap; /* Prevent text from wrapping */ overflow-x: auto; /* Allow horizontal scrolling if text overflows */ overflow-y: auto; /* Allow vertical scrolling for multiple lines */ } </style> <script language="JavaScript"> //============================================================================= // Globals //============================================================================= var cust_number = '<?php echo $cust_number ?>'; var cust_name = '<?php echo $cust_name ?>'; var fileformat_codepage = '<?php echo $fileformat_codepage ?>'; var thisCurrentRow; var thisGlobalRowData; var thisGlobalTableData; // date variables var input_fromdate; var input_fromtime; var input_todate; var input_totime; var input_logType; var input_logCode; var input_logPgm; var input_dataLine; var input_fileMode; // Save field var save_dataLine = ''; var save_timeStamp = ''; var global_debug = 'N'; var global_GET_POST = 'POST'; // Add allowed Y/N var GLOBAL_ADD_ALLOWED = 'N'; // Show group buttons var GLOBAL_SHOW_GROUP_BUTTONS = 'N'; // Delete allowed Y/N var GLOBAL_DELETE_ALLOWED = 'N'; // sortMode var GLOBAL_SORTMODE = 'DESC'; var jsonDataSave = {}; var DFT_DATE_DISPLAY_FORMAT = '<?php //echo $DFT_DATE_DISPLAY_FORMAT ?>'; var DFT_LANGUAGE = '<?php //echo $DFT_LANGUAGE ?>'; var GLOBAL_TOTALPAGESSTOPVALUE = 10; // Save field //var save_CFGNAM = ''; $(function () { $.scrollUp({ scrollName: 'scrollUp', // Element ID //topDistance: '1800', // Distance from top before showing element (px) //topSpeed: 300, // Speed back to top (ms) scrollDistance: '300', // Distance from top before showing element (px) scrollSpeed: 300, // Speed back to top (ms) animation: 'fade', // Fade, slide, none animationInSpeed: 200, // Animation in speed (ms) animationOutSpeed: 200, // Animation out speed (ms) scrollText: false, //'Scroll to top', // Text for element activeOverlay: false, // Set CSS color to display scrollUp active point, e.g '#00FFFF' }); }); //============================================================================= // Get data //============================================================================= function getData( inputGetData ) { // alert('x') // Reset, show all if ( inputGetData == '*RESET' ) { inputGetData = ''; $('#input-fromdate').val(''); $('#input-fromtime').val(''); $('#input-todate').val(''); $('#input-totime').val(''); $('#input-logType').val(''); $('#input-logCode').val(''); $('#input-logPgm').val(''); $('#input-dataLine').val(''); $('#input-fileMode').val(''); // Update input variables input_fromdate = $('#input-fromdate').val(); input_fromtime = $('#input-fromtime').val(); input_todate = $('#input-todate').val(); input_totime = $('#input-totime').val(); input_logType = $('#input-logType').val(); input_logCode = $('#input-logCode').val(); input_logPgm = $('#input-logPgm').val(); input_dataLine = $('#input-dataLine').val(); input_fileMode = $('#input-fileMode').val(); // Reset date buttons $('.btn-default-date-interval').removeClass('btn-success').addClass('btn-dark'); $('#dirExportButton').removeClass('btn-success').addClass('btn-primary'); $('#dirImportButton').removeClass('btn-success').addClass('btn-primary'); //Clear search thisGlobalTableData.search( '' ); } //Only initialize datatables once, else just draw it if ( $.fn.dataTable.isDataTable( '#REEFTvisual_data' ) ) { console.log('1'); thisGlobalTableData.draw(); // fire in the hole } else { console.log('2'); setDataTables(); } } //============================================================================= // Set datatables //============================================================================= function setDataTables() { // Delete allowed? if ( GLOBAL_DELETE_ALLOWED == 'Y' ) { var show_the_delete_button = true; } else { var show_the_delete_button = false; } // Get the current date line input_fromdate = $('#input-fromdate').val(); input_fromtime = $('#input-fromtime').val(); input_todate = $('#input-todate').val(); input_totime = $('#input-totime').val(); input_logType = $('#input-logType').val(); input_logCode = $('#input-logCode').val(); input_logPgm = $('#input-logPgm').val(); input_dataLine = $('#input-dataLine').val(); //input-fileMode = $('#input-fileMode').val(); parmData = ''; // Get the current date line input_logCode = $('#input-logCode').val(); new $('#REEFTvisual_data').DataTable({ "ajax": { "url": 'customerlog_maintain_get.php', "type": global_GET_POST, "data": function (parmData) { // Add custom parameters to the ajax call parmData.cust_number = cust_number; // From date parmData.fromdate = input_fromdate.trim(); parmData.fromtime = input_fromtime; parmData.fromtime = input_fromtime; // To date parmData.todate = input_todate.trim(); parmData.totime = input_totime; // Log type and code parmData.logType = input_logType; parmData.logCode = input_logCode; parmData.logPgm = input_logPgm; parmData.dataLine = input_dataLine; parmData.fileMode = input_fileMode; }, dataSrc: function (jsonData) { //return data console.log(jsonData); var rpyCMPNO = jsonData.header.rpyCMPNO; var rpyCMPNO_Name = jsonData.header.rpyCMPNO_Name; var rpyFile_name = jsonData.header.rpyFile_name; var rpyFile_description = jsonData.header.rpyFile_description; var rpyTableRecordsFound = jsonData.header.rpyTableRecordsFound; var recordsTotal = jsonData.header.recordsTotal; var recordsTotalFormat = jsonData.header.recordsTotalFormat; var returnCode = jsonData.header.returnCode; var returnMsg = jsonData.header.returnMsg; var entries_found = jsonData.header.entries_found; var response_sec = jsonData.header.response_sec; sql_where = jsonData.header.sql_where ; sql_statement = jsonData.header.sql ; // Show SQL? if ( $('#input-showSQLstatement').val() == 'Y' ) { $('#input-sql-statement').text( sql_statement ); } else { $('#input-sql-statement').text(''); } // Show load time $('#text-total-records-found').html( rpyTableRecordsFound ); $('#text-total-records-found').html( recordsTotalFormat ); $('#load-time-from-database').html('entries found: ' + entries_found + ' (' + response_sec + ')'); // Set Company and file information if ( rpyFile_name != '' ) { $('#data-hub-company-information').html( '<span title="' + rpyFile_name + ' - ' + rpyFile_description + '">' + rpyCMPNO_Name + '</span>' ).css('font-size','1.3em'); } // Init button line fields var HTMLlineButtons = ''; var HTMLlineButtonsModal = ''; var selectedButtonClass = 'btn-dark'; //===================================================================================== // Create group buttons, only if wanted //===================================================================================== if ( GLOBAL_SHOW_GROUP_BUTTONS == 'Y' ) { $.each( jsonData.header_buttons, function( index, object ){ var buttonLine = object.buttonLine; var buttonCount = object.buttonCount; selectedButtonClass = 'btn-dark'; var selectButtonLineID = 'select-button-line-id-' + buttonLine; var selectButtonLineIDmodal = 'select-button-line-id-modal-' + buttonLine + '_' + buttonCount; HTMLlineButtons += '<button type="button" onclick="setWebserviceSearch(\'' + buttonLine + '\')" style="cursor:default" id="' + selectButtonLineID + '" class="btn ' + selectedButtonClass + ' select-button-line btn-sm mr-1 mb-1">' + buttonLine + ' (<b>' + buttonCount + '</b>)' + '</button>' HTMLlineButtonsModal += '<button type="button" onclick="selectGroupValueModal(\'' + buttonLine + '\')" style="width:100px" id="' + selectButtonLineIDmodal + '" class="select-button-line-modal btn btn-primary btn-sm mr-1 mb-1">' + buttonLine + '</button>' }); // Reset HTMLlineButtons += '<button type="button" onclick="setWebserviceSearch(\'' + '' + '\')" style="cursor:default" id="' + 'RESET' + '" class="btn ' + 'btn-warning' + ' select-button-line btn-sm mr-1 mb-1">' + '<b>' + 'RESET' + '</b>' + '</button>' $('#data-result-button-group').html(HTMLlineButtons); $('#data-result-button-group-modal').html(HTMLlineButtonsModal); } //===================================================================================== return jsonData.data; } }, searching: false, processing: true, serverSide: true, responsive: true, fixedHeader: true, order: [[ 0, "asc" ],[ 1, "asc" ]], // Control the order on the screen colReorder: { //order: [0 ,1 ,2 ,3 ,4, 5, 6, 7, 8, 9] order: [0 ,1 ,9, 2 ,3 ,4, 5, 11, 10, 6, 7, 8] }, columnDefs: [ // Make sure the sorts toggle asc/desc and not asc/desc/no-sort { orderSequence: ['asc', 'desc'], targets: ['_all'] }, // // Make sure that buttons are not "hided" when responsive kicks in { responsivePriority: 4, targets: 1 }, // { responsivePriority: 2, targets: 0 }, // { responsivePriority: 3, targets: 1 }, // { responsivePriority: 4, targets: 2 }, // { responsivePriority: 5, targets: 3 }, // { responsivePriority: 6, targets: 4 }, // { responsivePriority: 20, targets: 7 }, // { responsivePriority: 30, targets: 6 }, // { responsivePriority: 40, targets: 5 }, // { responsivePriority: 50, targets: 4 }, // { responsivePriority: 60, targets: 3 }, { "targets": [ 7 ], "visible": show_the_delete_button, "searchable": false, "orderable": false }, { "targets": [ 1,2,3,4,5,6,9,11 ], "visible": true, "searchable": false, "orderable": false }, { "targets": [ 8, 10 ], "visible": false, "searchable": false, "orderable": false }, // { // "targets": [ 3,15,16,17,18 ], // "className": "text-align-center-dt" // } { "targets": [ 1,5,11 ], "max-width": '120px', "className": "text-truncate-dt" //class to mimic text-truncate in dt } ], columns: [ { // 0 // Since we are combining multiple data fields, use null as the data source data: 'pk_key', render: function (data, type, row, meta) { // Set time text var myPKKEY = '<span ondblclick="copyToClipBoard(\'' + row.pk_key + '\')" title="Double click to copy to clipboard - pk_key: ' + row.pk_key + '">' + row.pk_key + '</span>'; return myPKKEY; } }, { // 1 // Since we are combining multiple data fields, use null as the data source data: 'timeStamp_local', render: function (data, type, row, meta) { // Set time text var myTimeStamp = '<span ondblclick="copyToClipBoard(\'' + row.timeStamp + '\')" title="Double click to copy to clipboard - UTC timestamp: ' + row.timeStamp + '">' + row.timeStamp_local + '</span>'; return myTimeStamp; } }, { data: "logType" }, // 2 { data: "logCode" }, // 3 { data: "logPgm" }, // 4 { data: "dataLine" }, // 5 { // 6 // Since we are combining multiple data fields, use null as the data source data: null, render: function (data, type, row, meta) { // Create edit button var myButton = '<button id="edt-' + row.timeStamp + '_' + row.pk_key + '" class="edit-btn btn btn-primary btn-block text-truncate xmr-1"><?php echo $reeft_button_show_details ?></button>'; return myButton; } }, { // 7 // Since we are combining multiple data fields, use null as the data source data: null, render: function (data, type, row, meta) { // Create delete button var myButton = '<button id="dlt-' + '-' + row.timeStamp + '_' + row.pk_key + '" class="delete-btn btn btn-danger text-truncate btn-block xmr-1"><?php echo $reeft_button_delete ?></button>'; return myButton; } }, { data: "timeStamp" }, // 8 { data: "fileMode" }, // 9 { data: "filePath" }, // 10 // { data: "fileName" }, // 11 { // 11 // Since we are combining multiple data fields, use null as the data source data: null, render: function (data, type, row, meta) { if ( row.fileName ) { // Create report button var FILE_NAME = row.fileName; var myButton = '<button type="button" id="showdir-' + row.fileName + '" class="btn-custom-table text-truncate list-file-btn btn btn-dark mr-1">' + FILE_NAME + '</button>'; } else { var myButton = ''; } return myButton; } }, ], pageLength: 25, lengthChange: true, layout: { top1Start: { pageLength: { menu: [10, 25, 50, 100 ] } }, top1End: [{ search: { placeholder: '<?php echo $reeft_datatable_Search_text ?>', } }], topStart: { info:{ } }, topEnd: { paging: { buttons: 8, firstLast: true, boundaryNumbers: true, } }, bottomStart: { buttons: [ { extend: 'copyHtml5', text: '<img src="images/copy.png" height="25"> Copy to Clipboard', titleAttr: 'Copy', title: 'REEFT Integration - Webservice Data Export - Copy to clipboard', exportOptions: { // Fields to export (https://datatables.net/pk_key/button/csv#Examples) columns: [0,1,2,3,4,5,6] } }, { extend: 'excelHtml5', text: '<img src="images/microsoft_excel_logo.png" height="25"> Excel', titleAttr: 'Excel', title: function(){ return 'REEFT Integration - Webservice Data Export'; //return 'REEFT Integration - Webservice Data Export (' + sql_where + ')'; }, messageTop : function(){ return 'SQL: ' + sql_statement; }, filename: function(){ var p_id = moment().format('YYYY-MM-DD HH.mm.ss'); return 'REEFT Integration - Webservice Data Export - ' + p_id; }, exportOptions: { // Fields to export (https://datatables.net/pk_key/button/csv#Examples) columns: [0,1,2,3,4,5,6] } }, { extend: 'pdfHtml5', text: '<img src="images/pdf_logo.png" height="25"> PDF', titleAttr: 'PDF', orientation: 'landscape', title: 'REEFT Integration - Webservice Data Export - PDF', filename: function(){ var p_id = moment().format('YYYY-MM-DD HH.mm.ss'); return 'REEFT Integration - Webservice Data Export - PDF - ' + p_id; }, exportOptions: { // Fields to export (https://datatables.net/pk_key/button/csv#Examples) columns: [0,1,2,3,4,5,6], modifier: { page: 'all' } } } ] }, bottomEnd: { paging: { buttons: 12, firstLast: true, boundaryNumbers: true } } }, language: { "decimal": ",", "thousands": ".", "emptyTable": "<?php echo $reeft_datatable_emptyTable ?>", "info": "<?php echo $reeft_datatable_Info ?>", "infoEmpty": "<?php echo $reeft_datatable_InfoEmpty ?>", "InfoFiltered": "<?php echo $reeft_datatable_InfoFiltered ?>", "infoPostFix": "", "lengthMenu": "<?php echo $reeft_datatable_LengthMenu ?>", "loadingRecords": "", "processing": "<?php echo $reeft_datatable_Processing ?>", "search": "<?php echo $reeft_datatable_Search ?>", "zeroRecords": "<?php echo $reeft_datatable_ZeroRecords ?>", "paginate": { "first": "<?php echo $reeft_datatable_First ?>", "last": "<?php echo $reeft_datatable_Last ?>", "next": "<?php echo $reeft_datatable_Next ?>", "previous": "<?php echo $reeft_datatable_Previous ?>" }, "aria": { "orderable": "Order by this column", "orderableReverse": "Reverse order this column" } }, "rowCallback": function(row, data, index) { }, "preDrawCallback": function(settings) { }, "initComplete": function () { } }); //============================================================================= // Setup the data to be able to update the table without reloading from the server //============================================================================= // Save the table in a global variable thisGlobalTableData = $('#REEFTvisual_data').DataTable(); // Handle click on "Edit" button $('#REEFTvisual_data tbody').on('click', '.edit-btn', function() { thisCurrentRow = $(this).closest('tr'); thisGlobalRowData = thisGlobalTableData.row(thisCurrentRow).data(); // Debug // console.log("edit"); // console.log(thisGlobalRowData); //console.log(thisCurrentRow); dataChange(); }); // Handle click on "Delete" button $('#REEFTvisual_data tbody').on('click', '.delete-btn', function() { thisCurrentRow = $(this).closest('tr'); thisGlobalRowData = thisGlobalTableData.row(thisCurrentRow).data(); // Debug // console.log(thisGlobalRowData); // console.log(thisCurrentRow); dataDeleteConfirm(); }); // Handle click on "List file" button $('#REEFTvisual_data tbody').on('click', '.list-file-btn', function() { thisCurrentRow = $(this).closest('tr'); thisGlobalRowData = thisGlobalTableData.row(thisCurrentRow).data(); dataListLOGfilePrompt('*NORMAL'); }); //============================================================================= //============================================================================= // Place curor in search field - the wrapper id is provided by datatables - debug it! //============================================================================= $('#REEFTvisual_data_wrapper div.dt-search .dt-input').focus(); //============================================================================= } //============================================================================= // Reason addd -- not used //============================================================================= function dataAdd ( input_pk_type ) { var mytimeStamp = $('#input-timeStamp').val(); resetModalInputFields(); setModalInputDefaultFields(); $('#input-mode').val('*add'); // Reset save field save_timeStamp = ''; save_pk_key = ''; // Reset modal message resetModalMessage(); // Remove key fields readonly $('#modal-input-timeStamp').removeAttr('readonly','readonly'); $('#data-result-button-group-modal').removeClass('d-none'); // Show modal $('#customerlog_maintainModal').modal('show'); $('#customerlog_maintainModal').on('shown.bs.modal', function () { $('#modal-input-timeStamp').trigger('focus'); }) } //============================================================================= // Show details //============================================================================= function dataChange( ) { var row = thisGlobalRowData; // Save in fields var pk_key = row["pk_key"]; var timeStamp = row["timeStamp"]; var logType = row["logType"]; var logCode = row["logCode"]; var logPgm = row["logPgm"]; var dataLine = row["dataLine"]; var fileMode = row["fileMode"]; var filePath = row["filePath"]; var fileName = row["fileName"]; var counter = row["counter"]; $('#input-mode').val('*update'); save_timeStamp = timeStamp; save_pk_key = pk_key; // Move to input fields $('#modal-input-counter').val(counter); $('#modal-input-pk_key').val(pk_key); $('#modal-input-timeStamp').val(timeStamp); $('#modal-input-logType').val(logType); $('#modal-input-logCode').val(logCode); $('#modal-input-logPgm').val(logPgm); $('#modal-input-dataLine').val(dataLine); $('#modal-input-fileMode').val(fileMode); $('#modal-input-filePath').val(filePath); $('#modal-input-filePath').attr('title', filePath); $('#modal-input-fileName').val(fileName); // Make key fields readonly $('#modal-input-timeStamp').attr('readonly','readonly'); $('#data-result-button-group-modal').removeClass('d-none'); $('#modal-logfile-data-result-wrapper').addClass('d-none'); $('.read-only-class').attr('readonly','readonly'); console.log("fileName " + fileName); if (!fileName) $('#modal-showlog-btn').addClass('disabled').prop("disabled", true); else $('#modal-showlog-btn').removeClass('disabled').prop("disabled", false); // Reset modal message resetModalMessage(); // Show modal $('#customerlog_maintainModal').modal('show'); $('#customerlog_maintainModal').on('shown.bs.modal', function () { $('#modal-input-SEQUENCE').trigger('focus'); }) } //============================================================================= // Save //============================================================================= function dataSave() { // Reset modal message resetModalMessage(); // Check content of fields if ( $('#modal-input-timeStamp').val() == '' ) { $('#modal-message').addClass('border-bottom').html( '<?php echo $reeft_error0082 ?>' ); $('#modal-save-button').addClass('disabled').prop("disabled", true); $('#modal-input-timeStamp').trigger('focus'); return false; } // if ( $('#modal-input-TOK_ALPHA').val() == '' ) { // $('#modal-message').addClass('border-bottom').html( '<?php echo $reeft_error0085 ?>' ); // $('#modal-save-button').addClass('disabled').prop("disabled", true); // $('#modal-input-TOK_ALPHA').trigger('focus'); // return false; // } if ( $('#modal-input-TOK_ADRNBR').val() == '' ) { $('#modal-message').addClass('border-bottom').html( '<?php echo $reeft_error0084 ?>' ); $('#modal-save-button').addClass('disabled').prop("disabled", true); $('#modal-input-TOK_ADRNBR').trigger('focus'); return false; } if ( $('#modal-input-timeStamp').val() == '' ) { $('#modal-message').addClass('border-bottom').html( '<?php echo $reeft_error0086 ?>' ); $('#modal-save-button').addClass('disabled').prop("disabled", true); $('#modal-input-timeStamp').trigger('focus'); return false; } // if ( $('#modal-input-pk_key').val() == '' ) { // $('#modal-message').addClass('border-bottom').html( '<?php echo $reeft_error0083 ?>' ); // $('#modal-save-button').addClass('disabled').prop("disabled", true); // $('#modal-input-pk_key').trigger('focus'); // return false; // } var mode = $('#input-mode').val(); //=============================================================================== // Remove # if any //=============================================================================== // Setup remove string let mySaveString; // var myWorkField = $('#modal-input-DESCP1').val(); // myWorkField = myWorkField.replace("#", ""); // $('#modal-input-DESCP1').val( myWorkField ); // var myWorkField = $('#modal-input-DESCP2').val(); // myWorkField = myWorkField.replace("#", ""); // $('#modal-input-DESCP2').val( myWorkField ); var myWorkField = $('#modal-input-TOK_ENV').val(); myWorkField = myWorkField.replace(",", "."); myWorkField = parseFloat(myWorkField).toFixed(3).toString(); $('#modal-input-CHRMIN').val( myWorkField ); var myWorkField = $('#modal-input-TOK_ENVCOL').val(); myWorkField = myWorkField.replace(",", "."); myWorkField = parseFloat(myWorkField).toFixed(3).toString(); $('#modal-input-CHRMAX').val( myWorkField ); var myWorkField = $('#modal-input-TOK_JASSVR').val(); myWorkField = myWorkField.replace(",", "."); myWorkField = parseFloat(myWorkField).toFixed(0).toString(); $('#modal-input-DBGVAL').val( myWorkField ); //=============================================================================== // Make array and json var myData = $('#dataForm').find('input, select, textarea').serializeArray(); var result = JSON.stringify(myData); var result = encodeURIComponent( result ); // console.log(result); // console.log(myData); // return; var parmData = 'data=' + result + '&mode=' + mode ; $.ajax({ url: "customerlog_maintain_save.php", type: "POST", data: parmData, dataType: "json", cache: false, }) .done(function( jsonData ) { //================================================================= // START - Update the table without doing a server reload // Only update //================================================================= if ( mode == '*update' ) { event.preventDefault(); // Debug // console.log(myGlobalRowData[0]); // console.log(myGlobalRowData[1]); // console.log(myGlobalRowData[2]); // console.log(myCurrentRow); // console.table(myGlobalTableData); // Get the data for the "Change/Delete button", so we do not need to create it again // myChangeButtonData = myGlobalRowData[6]; // myDeleteButtonData = myGlobalRowData[7]; //============================================== // Use this if you want to update the whole row //============================================== // myGlobalTableData.row(myCurrentRow).data([ // modal_input_HUB_WEBNAM, // modal_input_LSTCAL, // modal_input_DESCP1, // modal_input_DESCP2, // modal_input_COUNT, // modal_input_SERTYP, // myChangeButtonData, // myDeleteButtonData, // modal_input_DESCP1, // modal_input_DESCP2 // ]) // .draw(false) // ; //======================================================= // Use this if you want to update one or more table cells //======================================================= // thisGlobalTableData.cell(thisCurrentRow, 0 ).data( $('#modal-input-timeStamp').val() ); // thisGlobalTableData.cell(thisCurrentRow, 1 ).data( $('#modal-input-dataLine').val() ); // thisGlobalTableData.cell(thisCurrentRow, 2 ).data( $('#modal-input-TOK_ADRNBR').val() + '<br>' + $('#modal-input-TOK_ALPHA').val() ); // thisGlobalTableData.cell(thisCurrentRow, 3 ).data( $('#modal-input-pk_key').val() ); // thisGlobalTableData.cell(thisCurrentRow, 4 ).data( $('#modal-input-timeStamp').val() ); // thisGlobalTableData.cell(thisCurrentRow, 6 ).data( $('#modal-input-TOK_ROLE').val() ); // thisGlobalTableData.cell(thisCurrentRow, 7 ).data( $('#modal-input-TOK_ENV').val() ); // thisGlobalTableData.cell(thisCurrentRow, 8 ).data( $('#modal-input-TOK_ENVCOL').val() ); // 9 = Show on chart Y/N // 10 = Edit button // 11 = Delete button // 12 = Transactions // 13 = Chart // thisGlobalTableData.cell(thisCurrentRow, 14 ).data( $('#modal-input-TOK_JASSVR').val() ); // thisGlobalTableData.cell(thisCurrentRow, 15 ).data( $('#modal-input-TOK_ADRNBR').val() ); // thisGlobalTableData.cell(thisCurrentRow, 16 ).data( $('#modal-input-TOK_ALPHA').val() ); // thisGlobalTableData.cell(thisCurrentRow, 17 ).data( $('#modal-input-TOK_APPRLS').val() ); // thisGlobalTableData.cell(thisCurrentRow, 18 ).data( $('#modal-input-TOK_MACHIN').val() ); // Show new color // var TOK_APPRLS_TEXT = '<div style="display:block;margin:auto;width:25px;height:25px; background-color:' + $('#modal-input-TOK_APPRLS').val() + '">&nbsp;</div>'; // thisGlobalTableData.cell(thisCurrentRow, 5 ).data( TOK_APPRLS_TEXT ); // //thisGlobalTableData.cell(thisCurrentRow, 5 ).data( TOK_APPRLS_TEXT ).draw(false); // if ( $('#modal-input-TOK_MACHIN').val() == 'N' ) { // TOK_MACHIN_text = '<?php echo $reeft_NO ?>'; // } else { // TOK_MACHIN_text = '<?php echo $reeft_YES ?>'; // } // thisGlobalTableData.cell(thisCurrentRow, 9 ).data( TOK_MACHIN_text ); } //================================================================= // END - Update the table without doing a server reload //================================================================= //================================================================= // Close the modal //================================================================= $('#customerlog_maintainModal').modal('hide'); //================================================================= // Only when add //================================================================= if ( mode == '*add' ) { var myButtonID = 'select-button-line-id-' + $('#input-timeStamp').val(); $('#' + myButtonID).click(); getData(''); } }) .always(function( jsonData ) { // Reset mode $('#input-mode').val(''); // Reset input fields resetModalInputFields(); }) .fail(function( xhr, ajaxOptions, thrownError ) { console.log('I am failed..'); console.log( thrownError ); console.log( xhr ); }); } //============================================================================= // Delete confirm //============================================================================= function dataDeleteConfirm( ) { $('#input-mode').val('*delete'); var row = thisGlobalRowData; var input_timeStamp = row["timeStamp"]; $('#confirm-delete-timeStamp').val(input_timeStamp); // Create confirm text $('#confirm-delete-text-timeStamp').html(input_timeStamp); $('#customerlog_confirmDeleteModal').modal('show'); } //============================================================================= // Delete //============================================================================= function dataDeleteExec() { // Reset modal message resetModalMessage(); var mode = $('#input-mode').val(); // Make array and json var myData = $('#dataForm-delete').find('input, select').serializeArray(); var result = JSON.stringify(myData); // console.log(result); // console.log(myData); //return; var parmData = 'data=' + result + '&mode=' + mode ; $.ajax({ url: "customerlog_maintain_save.php", type: "POST", data: parmData, dataType: "json", cache: false, }) .done(function( jsonData ) { $('#customerlog_confirmDeleteModal').modal('hide'); //================================================================= // Only when add //================================================================= if ( mode == '*delete' ) { var myButtonID = 'select-button-line-id-' + $('#input-timeStamp').val(); $('#' + myButtonID).click(); resetModalInputFields(); getData(''); } }) .always(function( jsonData ) { }) .fail(function( xhr, ajaxOptions, thrownError ) { console.log('I am failed..'); console.log( xhr ); }); } //============================================================================= // Check if userid exists //============================================================================= function checkDataExists() { return; var timeStamp = $('#modal-input-timeStamp').val(); // If update, then the "orginal" code is ok if ( $('#input-mode').val() == '*update' ) { if ( timeStamp == save_timeStamp ) { // return; } } var parmData = 'timeStamp=' + dataLine ; $.ajax({ url: "hub_conchk_get.php", type: "GET", data: parmData, dataType: "json", cache: false, }) .done(function( jsonData ) { var returnCode = jsonData.header.returnCode; var returnMsg = jsonData.header.returnMsg; var entries_found = jsonData.header.entries_found; var returnConfigValue = jsonData.header.returnConfigValue; var returnConfigValueText = jsonData.header.returnConfigValueText; if ( returnConfigValue == '50') { $('#modal-message').addClass(' border-bottom').html( '<?php echo $reeft_error0087 ?>' ); $('#modal-save-button').addClass('disabled').prop("disabled", true); $('#modal-input-timeStamp').trigger('focus'); return false; } else { // DESCP = jsonData.detail[0].DESCP // $('#modal-input-pk_key').val( DESCP ); } // Reset modal message resetModalMessage(); }) .always(function( jsonData ) { }) .fail(function( xhr, ajaxOptions, thrownError ) { console.log('I am failed..'); console.log( xhr ); }); } //============================================================================= // Show deleted //============================================================================= function showDeleted() { var show_deleted = $('#input-show-deleted').val(); if ( show_deleted == 'Y' ) { $('#button-show-deleted').html('<?php echo $reeft_NO ?>'); $('#input-show-deleted').val('N'); } else { $('#button-show-deleted').html('<?php echo $reeft_YES ?>'); $('#input-show-deleted').val('Y'); } } //============================================================================= // Set default modal input fields //============================================================================= function setModalInputDefaultFields() { var mytimeStamp = $('#input-timeStamp').val(); // $('#modal-input-dataLine').val('1'); // $('#modal-input-TOK_APPRLS').val( $('#input-current-date').val() ); // $('#modal-input-TOK_ROLE').val( $('#input-current-time').val() ); } //============================================================================= // Reset modal input fields //============================================================================= function resetModalInputFields() { $('#modal-input-pk_key').val(''); $('#modal-input-timeStamp').val(''); $('#modal-input-logType').val(''); $('#modal-input-logCode').val(''); $('#modal-input-logPgm').val(''); $('#modal-input-dataLine').val(''); $('#modal-input-NXTTKWEXT1').val(''); $('#modal-input-NXTTKMEXT1').val(''); $('#modal-input-NXTTKWEXT2').val(''); $('#modal-input-NXTTKMEXT2').val(''); $('#modal-input-TOTLIRUNSC').val(''); $('#modal-input-TOTLISTPSC').val(''); $('#modal-input-TOTLIRUNTX').val(''); $('#modal-input-TOTLISTPTX').val(''); $('#modal-input-PRDCNT').val('0'); $('#modal-input-PRDCNT_ER').val('0'); $('#modal-input-PRDCNT_EXP').val('0'); $('#modal-input-SEQUENCE').val('0'); $('#input-mode').val(''); } //============================================================================= // Log off //============================================================================= function signoff() { window.location.href = "logout.php"; } //============================================================================= // Load page //============================================================================= function loadPage(url, p1, p2, p3) { window.location.href = url; } //============================================================================= // Reset modal message //============================================================================= function resetModalMessage() { // Reset //$('#modal-message').removeClass('p-2 font-weight-bold border border-danger rounded bg-light').html( '&nbsp;' ); $('#modal-message').removeClass('border-bottom').html( '&nbsp;' ); $('#modal-save-button').removeClass('disabled').prop("disabled", false); } //============================================================================= // Clean input string //============================================================================= function cleanInputString( myWorkField ) { let charactersToRemove = '?#"\''; let myPattern = new RegExp('[' + charactersToRemove + ']', 'g'); myWorkField = myWorkField.replace(myPattern,''); return myWorkField; } //============================================================================= // Full screen popup //============================================================================= function popUpFull( url, p1, p2, p3 ) { var winname = 'win_' + url; params = 'width='+screen.width; params += ', height='+screen.height; params += ', top=0, left=0' params += ', fullscreen=yes'; params += ',scrollbars=1'; overview_win = window.open(url,winname, params); if (window.focus) {overview_win.trigger('focus')} return false; } //============================================================================= // screen popup - center //============================================================================= function popUpCenter(url, p1, p2, p3) { var v1_w = screen.availWidth; var v1_h = screen.availHeight; if ( parseInt(v1_w) > 1800 ) { v1_w = 1800; v1_h = v1_h - 200; v1_center = v1_w/0.8; } // Center popup as good as possible var left = (screen.width - v1_w) / 2; var top = (screen.height - v1_h) / 4; var winname = 'win_' + url; params = 'width='+v1_w; params += ', height='+v1_h; params += ', top=' + top + ', left=' + left; params += ', fullscreen=yes'; params += ',scrollbars=1'; overview_win = window.open(url,winname, params); if (window.focus) {overview_win.trigger('focus')} return false; } //============================================================================= // screen popup - center - bigger //============================================================================= function popUpCenterBig(url, p1, p2, p3) { var v1_w = screen.availWidth; var v1_h = screen.availHeight; // Get 25% v1_w_pct = v1_w * 0.25; v1_w_new = v1_w - v1_w_pct; if ( v1_w_new < 1 ) { v1_w_new = 1800; } v1_w = v1_w_new; v1_h = v1_h - 200; v1_center = v1_w/0.8; // Center popup as good as possible var left = (screen.width - v1_w) / 2; var top = (screen.height - v1_h) / 4; var winname = 'win_' + url; params = 'width='+v1_w; params += ', height='+v1_h; params += ', top=' + top + ', left=' + left; params += ', fullscreen=yes'; params += ',scrollbars=1'; overview_win2 = window.open(url, winname, params); if (overview_win2 && !overview_win2.closed) { overview_win2.focus(); } } //============================================================================= // Popup top //============================================================================= function popUpTop(url, p1, p2, p3) { var winname = 'win_' + url; w = 650; h = 750; params = 'width='+w; params += ', height='+h; params += ', top=0, left=0' params += ', fullscreen=no'; params += ',scrollbars=1'; overview_win = window.open(url,winname, params); if (window.focus) {overview_win.trigger('focus')} return false; } //============================================================================= // Clean input string //============================================================================= function cleanInputString( myWorkField ) { let charactersToRemove = '?#"\''; let myPattern = new RegExp('[' + charactersToRemove + ']', 'g'); myWorkField = myWorkField.replace(myPattern,''); return myWorkField; } //============================================================================= // Show details //============================================================================= function showlogfile() { var FILE_PATH = $("#modal-input-filePath").val(); var FILE_NAME = $("#modal-input-fileName").val() var filePath = FILE_PATH + "/" + FILE_NAME; var parmData = 'filePath=' + filePath + '&fileformat_codepage=' + fileformat_codepage ; //alert(parmData); HTMLline02 = ''; $.ajax({ url: "customerLog_maintain_file_get.php", type: "GET", data: parmData, dataType: "json", cache: false, }) .done(function( jsonData ) { console.log(jsonData); $.each( jsonData, function( LINE_NUMBER, LINE ){ HTMLline02 += '<span class="" style="color:#B4B4B4">' + LINE_NUMBER + '</span>' + '&nbsp;&nbsp;&nbsp;&nbsp;' + LINE + '<br>' }); // Show yourself to the world, you little fvcker $('#modal-logfile-data-result').html(HTMLline02); $('#modal-logfile-data-result-wrapper').removeClass('d-none'); }) .always(function( jsonData ) { }) .fail(function( xhr, ajaxOptions, thrownError ) { console.log('I am failed..'); console.log( thrownError ); console.log( xhr ); }); } //============================================================================= // Show details - modal //============================================================================= function dataListLOGfilePrompt( search_type ) { $('#input-search-type').val( search_type ); $('#input-modal-list-current-file-pRpyNextOffSet').val( '0'); $('#modal-LOG-list-data-result').html(''); $('#modal-LOG-list-messasge').html( '' ); HTMLline02 = ''; dataListLOGfileExec(); // Show modal $('#import_done_listLOGfileModal').modal('show'); $('#import_done_listLOGfileModal').one('shown.bs.modal', function () { scrollToSomething( 'target' ); }) } //============================================================================= // Show details //============================================================================= function dataListLOGfileExec() { $('#modal-LOG-list-progress').html('<span style="color: crimson">Loading data, please wait</span>'); var row = thisGlobalRowData; //console.table(row) var FILE_NAME = row["fileName"]; var PATH_NAME = row["filePath"]; var filePath = PATH_NAME + "/" + FILE_NAME; // Set some header info $('#modal-list-current-file').html( '<span title="' + PATH_NAME + '">' + FILE_NAME + '</span>' ); var parmData = 'filePath=' + filePath + '&fileformat_codepage=' + fileformat_codepage ; //alert(parmData); $.ajax({ url: "customerLog_maintain_file_get.php", type: "GET", data: parmData, dataType: "json", cache: false, }) .done(function( jsonData ) { console.log(jsonData); var rpyURL = filePath; $('#input-modal-list-current-file-pRpyNextOffSet').val( '0'); // Create download link // Wait to see how we can access files on Azure if possible.... // if ( rpyURL != '' ) { // $('#modal-list-download-current-file').html( '<a title="Download" download target="_blank" class="btn btn-dark" href="' + rpyURL + '">' + '<i class="fa-thin fa-download"></i>' + '&nbsp;&nbsp;' + FILE_NAME + '</a>' ); // } $.each( jsonData, function( LINE_NUMBER, LINE ){ HTMLline02 += '<span class="" style="color:#B4B4B4">' + LINE_NUMBER + '</span>' + '&nbsp;&nbsp;&nbsp;&nbsp;' + LINE + '<br>' }); // Show yourself to the world, you little fvcker $('#modal-LOG-list-data-result').html(HTMLline02); // Make key fields readonly $('#modal-input-FILE_NAME').attr('readonly','readonly'); $('#data-result-button-group-modal').removeClass('d-none'); $('.read-only-class').attr('readonly','readonly'); // Reset modal message resetModalMessage(); $('#modal-LOG-list-progress').html( '' ); }) .always(function( jsonData ) { }) .fail(function( xhr, ajaxOptions, thrownError ) { console.log('I am failed..'); console.log( thrownError ); console.log( xhr ); }); } //============================================================================= // Close modal - LOG listing //============================================================================= function closeModalLOGlist() { HTMLline02 = ''; $('#modal-LOG-list-data-result').html(''); $('#modal-LOG-list-messasge').html( '&nbsp;' ); $('#import_done_listLOGfileModal').modal('hide'); } //============================================================================= // Set Direction Mode //============================================================================= function selectDirectionMode( inputMode ) { $('#input-fileMode').val( inputMode); if (inputMode == '*EXPORT') { $('#dirImportButton').removeClass('btn-success').addClass('btn-primary'); $('#dirExportButton').removeClass('btn-primary').addClass('btn-success'); } else { $('#dirExportButton').removeClass('btn-success').addClass('btn-primary'); $('#dirImportButton').removeClass('btn-primary').addClass('btn-success'); } } //============================================================================= // Select line modal //============================================================================= function selectGroupValueModal( inputLine ) { $('#modal-input-timeStamp').val( inputLine ); var selectButtonLineID = 'select-button-line-id-modal-' + inputLine; $('.select-button-line-modal').removeClass('btn-success').addClass('btn-primary'); $('#' + selectButtonLineID).removeClass('btn-primary').addClass('btn-success'); // Place cursor $('#modal-input-timeStamp').trigger('focus'); resetModalMessage(); } //============================================================================= // Reset line modal //============================================================================= function resetLineModal() { resetModalMessage() let inputLine = $('#modal-input-timeStamp').val(); if ( inputLine == '' ) { $('.select-button-line-modal').removeClass('btn-success').addClass('btn-primary'); } } //============================================================================= // Close modal //============================================================================= function closeModal() { $('#customerlog_maintainModal').modal('hide'); } //============================================================================= // Scroll to something //============================================================================= function scrollToSomething( target ) { //$.scrollTo('0',3200); thisID = '#' + target; $.scrollTo( thisID, 1000); } //============================================================================= // Save file //============================================================================= function saveFile( i_filename ) { var data = { key: 'value' }; var fileName = i_filename; // Create a blob of the data var fileToSave = new Blob([JSON.stringify(data)], { type: 'application/json' }); // Save the file saveAs(fileToSave, fileName); // var file = new File(["Hello, world!"], filename, {type: "application/json;charset=utf-8"}); // saveAs(file); } //============================================================================= // copy to clipboard - prepare //============================================================================= function copyToClipBoardPrepare() { // Get SQL statement copyToClipBoard( $('#input-sql-statement').text() ); } //============================================================================= // copy to clipboard //============================================================================= function copyToClipBoard( input_text_to_copy ) { $('#myInput').val( input_text_to_copy ); // Get the text field var copyText = document.getElementById("myInput"); // Select the text field copyText.select(); copyText.setSelectionRange(0, 99999); // For mobile devices // Copy the text inside the text field navigator.clipboard.writeText(copyText.value); // Alert the copied text alert( copyText.value + ' ' + 'copied to clipboard' ); } //============================================================================= // Set months //============================================================================= function setDefaultMonths() { $('#default-month-buttons').html(''); var monthButtons = ''; var numberOfMonths = 6; curMdrVar = numberOfMonths; for (let step = 0; step < numberOfMonths; step++) { curMdrVar = parseInt( curMdrVar ) - 1; //curMdrVar = step; var defaultMonth = moment().subtract(curMdrVar, 'month').format("MM"); var monthName = setDefaultMonthName( defaultMonth ); createDefaultMonthButton(curMdrVar, defaultMonth, monthName); } } //============================================================================= // Create button //============================================================================= function createDefaultMonthButton( number, month, monthName ) { var thisId = 'default-button-' + month; var currentYear = getDefaultYearCalc( number, month, monthName ); var monthButton = '<button type="button" class="btn-default-date-interval btn btn-dark mr-1 mb-1" id="' + thisId + '" onclick="setDefaultFromToDateCalc(\'' + number + '\',\'' + month + '\')">' + monthName + ' ' + currentYear + '</button>' $('#default-month-buttons').append(monthButton); } //============================================================================= // Set month names //============================================================================= function setDefaultMonthName( month ) { var monthName = ''; if ( month == '01') { monthName = '<?php echo $reeft_month_01 ?>'; } else if ( month == '02') { monthName = '<?php echo $reeft_month_02 ?>'; } else if ( month == '03') { monthName = '<?php echo $reeft_month_03 ?>'; } else if ( month == '04') { monthName = '<?php echo $reeft_month_04 ?>'; } else if ( month == '05') { monthName = '<?php echo $reeft_month_05 ?>'; } else if ( month == '06') { monthName = '<?php echo $reeft_month_06 ?>'; } else if ( month == '07') { monthName = '<?php echo $reeft_month_07 ?>'; } else if ( month == '08') { monthName = '<?php echo $reeft_month_08 ?>'; } else if ( month == '09') { monthName = '<?php echo $reeft_month_09 ?>'; } else if ( month == '10') { monthName = '<?php echo $reeft_month_10 ?>'; } else if ( month == '11') { monthName = '<?php echo $reeft_month_11 ?>'; } else if ( month == '12') { monthName = '<?php echo $reeft_month_12 ?>'; } else { monthName = 'Unknown: ' + month; } return monthName; } //============================================================================= // Set default from 7 to date //============================================================================= function getDefaultYearCalc( sub_month, month ) { // Calcualte date intervals var defaultFromDate = moment().subtract( parseInt(sub_month), 'month').format("YYYY-MM-01" ); var defaultToDate = moment().add(1, 'day').format("YYYY-MM-DD"); var defaultToDate = moment().subtract( parseInt(sub_month), 'month').endOf('month').format('YYYY-MM-DD'); var currentYear = moment(defaultFromDate).format('YYYY'); //console.log(defaultFromDate + ' ' + defaultToDate + ' ' + currentYear); return currentYear; } //============================================================================= // Set default from 7 to date //============================================================================= function setDefaultFromToDateCalc( sub_month, month ) { // Calcualte date intervals var defaultFromDate = moment().subtract( parseInt(sub_month), 'month').format("YYYY-MM-01" ); var defaultToDate = moment().add(1, 'day').format("YYYY-MM-DD"); var defaultToDate = moment().subtract( parseInt(sub_month), 'month').endOf('month').format('YYYY-MM-DD'); // Move to input fields $('#input-fromdate').val( defaultFromDate ); $('#input-todate').val( defaultToDate ); $('#input-fromtime').val( '00:00' ); $('#input-totime').val( '23:59' ); var thisId = 'default-button-' + month; $('.btn-default-date-interval').removeClass('btn-success').addClass('btn-dark'); $('#' + thisId).removeClass('btn-dark').addClass('btn-success'); // Click get button //$('#button-call-import-log-overview').trigger('click'); $('#updateButton').trigger('click'); } //============================================================================= // Get data - search //============================================================================= function setWebserviceSearch( input_logCode ) { // Save curreent webservice name $('#input-logCode').val( input_logCode ); var selectButtonLineID = 'select-button-line-id-' + input_logCode; // Set clicked button $('.select-button-line').removeClass('btn-success').addClass('btn-dark'); $('#' + selectButtonLineID).removeClass('btn-dark').addClass('btn-success'); // Search - destory table and start over again //$('#REEFTvisual_data').DataTable().clear().destroy(); //$('#REEFTvisual_data').DataTable().destroy(); //$('#REEFTvisual_data').DataTable().clear().destroy(true); $('#REEFTvisual_data').DataTable().clear().destroy(); setDataTables(); } //============================================================================= // Show more search fields //============================================================================= function showMoreSearchFields() { var input_showMoreSearchFields = $('#input-showMoreSearchFields').val(); // Show or not show? if ( input_showMoreSearchFields == 'Y' ) { $('#misc-1-search-fields').addClass('d-none'); $('#misc-2-search-fields').addClass('d-none'); $('#input-showMoreSearchFields').val('N'); $('#button-showMoreSearchFields').removeClass('btn-success').addClass('btn-primary').html('<?php echo $reeft_text0008 ?>...'); $('#input-fromdate').focus(); } else { $('#misc-1-search-fields').removeClass('d-none'); $('#misc-2-search-fields').removeClass('d-none'); $('#input-showMoreSearchFields').val('Y'); $('#button-showMoreSearchFields').removeClass('btn-primary').addClass('btn-success').html('<?php echo $reeft_text0009 ?>...'); $('#input-logType').focus(); } } //============================================================================= // Show SQL //============================================================================= function showSQL() { var input_showSQLstatement = $('#input-showSQLstatement').val(); // Show or not show? if ( input_showSQLstatement == 'Y' ) { $('#input-showSQLstatement').val('N'); $('#button-showSQLstatement').removeClass('btn-success').addClass('btn-primary').html('<?php echo $reeft_text0010 ?>'); $('#input-sql-col').addClass('d-none'); $('#button-copySQLstatement').addClass('d-none'); $('#input-sql-statement').text( '' ); $('#input-fromdate').focus(); } else { $('#input-showSQLstatement').val('Y'); $('#button-showSQLstatement').removeClass('btn-primary').addClass('btn-success').html('<?php echo $reeft_text0011 ?>'); $('#input-sql-col').removeClass('d-none'); $('#button-copySQLstatement').removeClass('d-none'); $('#input-sql-statement').text( sql_statement ); } } //============================================================================= // Set clock //============================================================================= function updateClock() { var currentTime = moment().format('YYYY-MM-DD HH:mm:ss'); currentTime = REEFT_format_date( currentTime, DFT_DATE_DISPLAY_FORMAT ) $('#input-current-date').val( moment().format('YYYY-MM-DD') ); $('#input-current-time').val( moment().format('HH:mm:ss') ); $('#current-time').html( currentTime ); // If add mode update date/time in modal window if ( $('#input-mode').val() == '*add' ) { $('#modal-input-TOK_APPRLS').val( $('#input-current-date').val() ); $('#modal-input-TOK_ROLE').val( $('#input-current-time').val() ); } } //============================================================================= // jQuery - Ready //============================================================================= $(document).ready(function() { // When closing modal $('#customerlog_maintainModal').on('hidden.bs.modal', function (e) { resetModalInputFields(); }) // Do not show deleted $('#input-show-deleted').val('Y'); $('#input-timeStamp').val('<?php echo $timeStamp ?>'); $('#header-cust-name').html(cust_name); // $('#input-fromdate').val('<?php echo $fromdate ?>'); // $('#input-fromtime').val('<?php echo $fromtime ?>'); // $('#input-todate').val('<?php echo $todate ?>'); // $('#input-totime').val('<?php echo $totime ?>'); //$('#delay-marker-id').html('<i id="delay-marker-icon-id" class="text-success fa-solid fa-circle"></i>'); // Get data done by datatables setDataTables(); //----------------------------------------------------------------------- // Start the clock //----------------------------------------------------------------------- updateClock(); setInterval(function() { updateClock(); }, 1000); //----------------------------------------------------------------------- //----------------------------------------------------------------------- // Set default from/to date //----------------------------------------------------------------------- //setDefaultFromToDate('2'); setDefaultMonths(); //----------------------------------------------------------------------- //----------------------------------------------------------------------- // Set font awesome icon type //----------------------------------------------------------------------- // Value is from config/config.php var iconType = '<?php echo $DFT_SET_FONT_AWESOME_ICON_TYPE ?>'; setFontAwesomeIconType( iconType ); //----------------------------------------------------------------------- //----------------------------------------------------------------------- // Delay keyup checker //----------------------------------------------------------------------- // var delay = (function () { // var timer = 0; // return function (callback, ms) { // clearTimeout(timer); // timer = setTimeout(callback, ms); // }; // })() // DataTable search delay //$('#REEFTvisual_data_wrapper .dt-input') //$('#REEFTvisual_data_wrapper .dataTables_filter input') $('#REEFTvisual_data_wrapper #dt-search-0') // .unbind() // overrule normal behavior // .bind('keyup', function(e){ // $('#delay-marker-icon-id').removeClass('text-success').addClass('text-danger'); // //inputValue = $('.dataTables_filter input').val(); // inputValue = $('#dt-search-0').val(); // var currSearchValue = $('#input-search-line').val(); // if (inputValue != currSearchValue) { // $('#input-search-line').val( inputValue ); // //If enter or delete we update immediately, consider to add backspace=8 and delete=46 also // const keyList = [13]; // if (keyList.includes(e.keyCode)) { // // console.log('immediately ' + inputValue ); // $('#delay-marker-icon-id').removeClass('text-danger').addClass('text-success'); // console.log('1 ' + inputValue) // thisGlobalTableData.search(inputValue).draw(); // fire in the hole // } else { // delay(function () { // //console.log('this will hit, once user has not typed for 1 second ' + inputValue ); // $('#delay-marker-icon-id').removeClass('text-danger').addClass('text-success'); // console.log('2 ' + inputValue) // thisGlobalTableData.search(inputValue).draw(); // fire in the hole // }, 0800); // } // } // }); //========================================================================================================= // Set color picker - TEXT // // Create HEX value (https://en.wikipedia.org/wiki/Web_colors) // var hexValueColor = color.toHexString(); // // Create RGB (https://en.wikipedia.org/wiki/RGB_color_model) // hexcolor = hexcolor.replace("#", ""); // var r = parseInt(hexcolor.substr(0,2),16); // var g = parseInt(hexcolor.substr(2,2),16); // var b = parseInt(hexcolor.substr(4,2),16); // var yiq = ((r*299)+(g*587)+(b*114))/1000; // // // Create YIQ (https://en.wikipedia.org/wiki/YIQ) // if ( yiq >= 128) { // var textColor = 'black'; // } else { // var textColor = 'white'; // } // // console.log('change: ' + hexcolor + ' ' + hexValueColor + ' ' + yiq + ' ' + r + ' ' + g + ' ' + b ); // //========================================================================================================= $(".text-color-palette").spectrum({ showInitial: true, showInput: true, chooseText: "Vælg farve", cancelText: "Annuller", preferredFormat: "hex", color: "#000", showPalette: true, flat: false, palette: [ ["#000","#444","#666","#999","#ccc","#eee","#f3f3f3","#fff"], ["#f00","#f90","#ff0","#0f0","#0ff","#00f","#90f","#f0f"], ["#f4cccc","#fce5cd","#fff2cc","#d9ead3","#d0e0e3","#cfe2f3","#d9d2e9","#ead1dc"], ["#ea9999","#f9cb9c","#ffe599","#b6d7a8","#a2c4c9","#9fc5e8","#b4a7d6","#d5a6bd"], ["#e06666","#f6b26b","#ffd966","#93c47d","#76a5af","#6fa8dc","#8e7cc3","#c27ba0"], ["#c00","#e69138","#f1c232","#6aa84f","#45818e","#3d85c6","#674ea7","#a64d79"], ["#900","#b45f06","#bf9000","#38761d","#134f5c","#0b5394","#351c75","#741b47"], ["#600","#783f04","#7f6000","#274e13","#0c343d","#073763","#20124d","#4c1130"] ], // Called as the original input changes. Only happens when the input is closed or the 'Choose' button is clicked. change: function(color) { // Get hex color var hexValueColor = color.toHexString(); }, move: function(color) { // Get hex color var hexValueColor = color.toHexString(); }, show: function(color) { $('#input-current-color-picker').val( this.id ); // Get hex color var hexValueColor = color.toHexString(); }, hide: function(color) { // Get hex color var hexValueColor = color.toHexString(); } }); //----------------------------------------------------------------------- // Check exists //----------------------------------------------------------------------- let $filter01 = $('#modal-input-timeStamp'); $filter01.on('keyup', function () { delay(function () { var inputValue = $('#modal-input-timeStamp').val(); if ( inputValue != '') { console.log('this will hit, once user has not typed for 1 second ' + inputValue ); checkDataExists(); } }, 0800); }); //----------------------------------------------------------------------- // Event listener for the update button //----------------------------------------------------------------------- // $('#updateButton').on('click', function() { // // Trigger a redraw of the table // thisGlobalTableData.draw(); // }); //----------------------------------------------------------------------- // Bind the scroll to an element - controls lazy scroll //----------------------------------------------------------------------- //$('#modal-ifs-list-data-result').bind('scroll',chk_scroll); //----------------------------------------------------------------------- // Event listener for the update button //----------------------------------------------------------------------- $('#updateButton').on('click', function() { // Update input variables input_fromdate = $('#input-fromdate').val(); input_fromtime = $('#input-fromtime').val(); input_todate = $('#input-todate').val(); input_totime = $('#input-totime').val(); input_logType = $('#input-logType').val(); input_logCode = $('#input-logCode').val(); input_logPgm = $('#input-logPgm').val(); input_dataLine = $('#input-dataLine').val(); input_fileMode = $('#input-fileMode').val(); if ( input_fromdate == '' ) { $('#main-message').html( '<?php echo $reeft_error0097 ?>' ); $('#input-fromdate').trigger('focus'); $('#message-wrapper').removeClass('d-none'); return false; } if ( input_todate == '' ) { $('#main-message').html( '<?php echo $reeft_error0098 ?>' ); $('#input-todate').trigger('focus'); $('#message-wrapper').removeClass('d-none'); return false; } if ( input_fromdate > input_todate ) { $('#main-message').html( '<?php echo $reeft_error0039 ?>' ); $('#input-fromdate').trigger('focus'); $('#message-wrapper').removeClass('d-none'); return false; } $('#message-wrapper').addClass('d-none'); // Trigger a redraw of the table thisGlobalTableData.draw(); }); //----------------------------------------------------------------------- // Set short cuts //----------------------------------------------------------------------- // If add d-none class, do not add shortcut if ( GLOBAL_ADD_ALLOWED == 'Y' ) { shortcut.add("Alt+F6",function() { $('#add-button').click(); }); // Show add button $('#add-button').removeClass('d-none'); } // More / less shortcut.add("F2",function() { $('#button-showMoreSearchFields').click(); }); // Show / hide SQL shortcut.add("Alt+F2",function() { $('#button-showSQLstatement').click(); }); // Make sure scroll is active when closeing the previevwer $('#import_done_listIFSfileModal').on("hidden.bs.modal", function (e) { //fire on closing modal box if ($('.modal:visible').length) { // check whether parent modal is opend after child modal close $('body').addClass('modal-open'); // if open mean length is 1 then add a bootstrap css class to body of the page // Remove iframe data... //$('#modal-preview-iframe').html(''); } }); }); // --> </script> </head> <body> <div class="container-fluid mt-2 pl-3 pr-3"> <input type="text" class="d-none" id="myInput"> <input type="text" class="d-none" id="input-showMoreSearchFields"> <input type="text" class="d-none" id="input-showSQLstatement"> <input type="text" class="d-none" id="input-mode"> <input type="text" class="d-none" id="input-current-date"> <input type="text" class="d-none" id="input-current-time"> <input type="text" class="d-none" id="input-show-deleted" > <input type="text" class="d-none" id="input-search-line"> <input type="text" class="d-none" id="input-filter-line"> <input type="text" class="d-none" id="input-rpyOffSet"> <input type="text" class="d-none" id="input-rpyTotalRecordsFound"> <input type="text" class="d-none" id="input-rpyTotalPages"> <!--<input type="text" class="d-none" id="input-rpyPageSize">--> <div class="row"> <div class="col-2"> <img src="images/customer-logo.png" alt="Customer Logo"> </div> <div class="col-8 text-center <?php echo $DFT_CLOCK_SIZE ?>"> <i class="font-awesome-pseudo-class fa-thin fa-clock"></i>&nbsp;&nbsp;<span id="current-time"><?php echo date('d-m-Y h:i:s') ?></span> </div> <div class="col-2 text-right"> <div class="d-none"> <div class="btn btn-primary mb-1 d-none d-xl-inline-block" onclick="loadPage('menu_main.php','','','')" title="<?php echo $reeft_go_to_my_dear_home_03 ?>"><i class="font-awesome-pseudo-class fa-2x fa-thin fa-fort"></i></div> <div class="btn btn-danger mb-1 d-none d-lg-inline-block" onclick="signoff()" title="<?php echo $reeft_go_to_my_dear_home_02 ?>"><i class="font-awesome-pseudo-class fa-thin fa-2x fa-right-from-bracket"></i></div> </div> <div class="btn btn-danger mb-1" id="signoff-button" onclick="window.close()" title="<?php echo $reeft_go_to_my_dear_home_02 ?>"><i class="font-awesome-pseudo-class fa-thin fa-2x fa-right-from-bracket"></i></div> </div> </div> <div class="row"> <div class="col-12 text-center"> <div id="data-hub-company-information"></div> </div> </div> <div class="card mt-2"> <div class="card-header text-muted"> <div class="row mt-2"> <div class="col-4 h4"> <i class="font-awesome-pseudo-class fa-thin fa-files"></i> <?php echo "$reeft_text0264"; ?> </div> <div class="col-4 text-center h4"> <div id="header-cust-name"></div> </div> <div class="col-4 text-right font-weight-bold"> <div class="row"> <div class="col text-right"> <?php echo $reeft_text0061 ?> : <span id="text-total-records-found">...</span><br> </div> </div> </div> </div> </div> <div class="card-body"> <!-- Message if screen is not wide enough --> <div class="container-fluid mt-2 mb-4 d-block d-lg-none"> <div id="general-message-top" class="border border-danger rounded p-2 text-danger font-weight-boldx"><?php echo $reeft_error0040a ?></div> </div> <!-- Message if screen is not wide enough --> <!-- SQL statement --> <div id="sql-wrapper" class="d-noneZ"> <div class="d-none d-lg-block"> <div class="row mb-2"> <div id="input-sql-col" class="col-11 border p-1 d-none"> <div title="<?php echo $reeft_text0012 ?>" class="font-weight-bold p-1" style="background-color:AntiqueWhite" id="input-sql-statement"></div> </div> </div> </div> </div> <!-- Group lines found --> <!--<div class="d-none d-lg-block">--> <div class="d-none"> <div class="row mb-2"> <div class="col-12 p-1"> <div id="data-result-button-group"></div> </div> </div> </div> <!-- Message wrapper start --> <div id="message-wrapper" class="d-none mb-2"> <div class="row"> <div class="col-12 text-left"> <div class="font-weight-bold text-danger border border-danger rounded p-2 " id="main-message">&nbsp;</div> </div> </div> </div> <!-- From / to date wrapper start --> <div id="from-to-date-wrapper" class="d-noneX"> <div class="row mb-1"> <div class="col text-left"> <div class="d-noneX" id="default-month-buttons"></div> </div> <div class="col text-right"> <button id="button-copySQLstatement" onclick="copyToClipBoardPrepare()" class="d-none btn btn-primary btn-sm"><?php echo $reeft_text0012 ?></button> <button id="button-showSQLstatement" title="Alt+F2=toggle" style="width:100px" onclick="showSQL()" class="btn btn-primary btn-sm"><?php echo $reeft_text0010 ?></button> <button id="button-showMoreSearchFields" title="F2=toggle" style="width:100px" onclick="showMoreSearchFields()" class="btn btn-primary btn-sm"><?php echo $reeft_text0008 ?>...</button> </div> </div> <div class="row mb-1"> <div class="col-xl-4 col-lg-4 col-md-6 col-sm-4 col-xs-4 mt-1"> <div class="row"> <div class="col"> <small><?php echo $reeft_text0121 ?></small> </div> </div> <div class="row"> <div class="col mb-1"> <input id="input-fromdate" type="date" class="form-control"> </div> <div class="col"> <input id="input-fromtime" type="time" class="form-control"> </div> </div> </div> <div class="col-xl-4 col-lg-4 col-md-6 col-sm-4 col-xs-4 mt-1"> <div class="row"> <div class="col"> <small><?php echo $reeft_text0122 ?></small> </div> </div> <div class="row"> <div class="col mb-1"> <input id="input-todate" type="date" class="form-control"> </div> <div class="col"> <input id="input-totime" type="time" class="form-control"> </div> </div> </div> <div class="col-xl-4 col-lg-4 col-md-6 col-sm-4 col-xs-4 mt-1"> <div class="row"> <div class="col"> <small>&nbsp;</small> </div> </div> <div class="row"> <div class="col mb-1"> <button type="button" class="btn btn-primary mb-1" id="updateButton"><?php echo $reeft_button_get_data_icon2 ?></button> <button type="button" class="btn btn-primary mb-1" onclick="getData('*RESET')"><?php echo $reeft_button_order_reset01_icon ?></button> </div> </div> </div> </div> </div> <!-- From / to date wrapper end --> <!-- Misc 1 search fields start --> <div id="misc-1-search-fields" class="d-none"> <div class="row mb-1"> <div class="col-xl-2 col-lg-2 col-md-3 col-sm-4 col-xs-4 mt-1"> <div class="row"> <div class="col"> <small><?php echo $reeft_text0247 ?></small> </div> </div> <div class="row"> <div class="col mb-1"> <input id="input-logType" type="text" class="form-control"> </div> </div> </div> <div class="col-xl-2 col-lg-2 col-md-3 col-sm-4 col-xs-4 mt-1"> <div class="row"> <div class="col"> <small><?php echo $reeft_text0249 ?></small> </div> </div> <div class="row"> <div class="col mb-1"> <input id="input-logCode" type="text" class="form-control"> </div> </div> </div> <div class="col-xl-2 col-lg-2 col-md-3 col-sm-4 col-xs-4 mt-1"> <div class="row"> <div class="col"> <small><?php echo $reeft_text0119 ?></small> </div> </div> <div class="row"> <div class="col mb-1"> <input id="input-logPgm" type="text" class="form-control"> </div> </div> </div> <div class="col-xl-2 col-lg-2 col-md-3 col-sm-4 col-xs-4 mt-1"> <div class="row"> <div class="col"> <small><?php echo $reeft_text0267 ?></small> </div> </div> <div class="row"> <div class="col mb-1"> <input id="input-fileMode" type="text" class="form-control read-only-class" readonly="readonly"> </div> </div> </div> <div class="col-xl-4 col-lg-4 col-md-6 col-sm-4 col-xs-4 mt-1"> <div class="row"> <div class="col"> <small>&nbsp;</small> </div> </div> <div class="row"> <div class="col mb-1"> <button type="button" class="btn btn-primary mb-1" id="dirExportButton" onclick="selectDirectionMode('<?php echo $reeft_button_export ?>')"><?php echo $reeft_button_export ?></button> <button type="button" class="btn btn-primary mb-1" id="dirImportButton" onclick="selectDirectionMode('<?php echo $reeft_button_import ?>')"><?php echo $reeft_button_import ?></button> </div> </div> </div> </div> </div> <!-- Misc 1 search fields end --> <!-- Misc 2 search fields start --> <div id="misc-2-search-fields" class="d-none"> <div class="row mb-2"> <div class="col-xl-8 col-lg-8 col-md-12 col-sm-12 col-xs-12 mt-1"> <div class="row"> <div class="col"> <small><?php echo $reeft_text0120 ?></small> </div> </div> <div class="row"> <div class="col mb-1"> <input id="input-dataLine" type="text" class="form-control"> </div> </div> </div> </div> </div> <!-- Misc 1 search fields end --> <div class="row mt-2"> <div class="col-12"> <div id="data-result" style="width: 100%;"></div> <table id="REEFTvisual_data" class="table table-bordered table-striped table-hover"> <thead> <tr class="bg-primary text-white font-weight-bold text-center"> <th class="text-left"><?php echo $reeft_text0248 ?></th> <th class="text-left"><?php echo $reeft_text0143 ?> / <?php echo $reeft_text0144 ?></th> <th class="text-left"><?php echo $reeft_text0247 ?></th> <th class="text-left"><?php echo $reeft_text0249 ?></th> <th class="text-left"><?php echo $reeft_text0119 ?></th> <th class="text-left"><?php echo $reeft_text0120 ?></th> <th class="text-left"><button type="button" id="add-button" title="Shortcut: Alt+F6" onclick="dataAdd('0')" class="d-none btn btn-dark btn-block font-weight-bold"><?php echo $reeft_button_save_01 ?></button></th> <th class="text-left"></th> <th class="text-left"><?php echo $reeft_text0145 ?></th> <th class="text-left"><?php echo $reeft_text0267 ?></th> <th class="text-left"><?php echo $reeft_text0266 ?></th> <th class="text-left"><?php echo $reeft_text0265 ?></th> </tr> </thead> </table> </div> </div> <div class="row"> <div class="col text-right mb-2"> <small><div id="load-time-from-database"></div></small> </div> </div> </div> </div> </div> <!-- Set footer --> <?php include "include/footer.php"; ?> <!-- Set footer --> <!-- ========================================================================== --> <!-- M O D A L S --> <!-- ========================================================================== --> <!-- Modal --> <div class="modal fade" id="customerlog_maintainModal" tabindex="-1" data-backdrop="static" role="dialog" aria-labelledby="customerlog_maintainModalLabel" aria-hidden="true"> <div class="modal-dialog modal-xxl"> <div class="modal-content"> <div class="modal-header bg-primary text-white"> <div class="container-fluid pl-0 pr-0"> <div class="row"> <div class="col-8"> <h5 class="modal-title" id="customerlog_maintainModalLabel"><i class="font-awesome-pseudo-class fa-thin fa-files"></i> <?php echo $reeft_text0264 ?></h5> </div> <div class="col text-right"> </div> <div class="col-1 text-right" style="max-width:20px"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> </div> </div> </div> <div id="main-modal-body" class="modal-body ml-2 mr-2 overflow-class-modal-body"> <input type="text" class="d-none" id="input-current-color-picker"> <input type="text" class="d-none" id="input-current-text-color"> <input type="text" class="d-none" id="input-current-background-color"> <!-- Message if screen is not wide enough --> <div class="container-fluid mt-2 mb-4 d-block d-lg-none"> <div id="general-message-top" class="border border-danger rounded p-2 text-danger font-weight-boldx"><?php echo $reeft_error0040a ?></div> </div> <!-- Message if screen is not wide enough --> <form name="dataForm" id="dataForm"> <!-- Hidden fields start --> <!-- Hidden fields end --> <div class="row mt-2"> <div class="col-2"> <?php echo $reeft_text0248 ?> </div> <div class="col-2"> <input class="form-control read-only-class" type="text" id="modal-input-pk_key" name="modal-input-pk_key"> </div> <div class="col-2"> <?php echo $reeft_text0145 ?> </div> <div class="col-2"> <input class="form-control read-only-class" type="text" id="modal-input-timeStamp" name="modal-input-timeStamp"> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $reeft_text0247 ?> </div> <div class="col-2"> <input class="form-control read-only-class" type="text" id="modal-input-logType" name="modal-input-logType"> </div> <div class="col-2"> <?php echo $reeft_text0249 ?> </div> <div class="col-2"> <input class="form-control read-only-class" type="text" id="modal-input-logCode" name="modal-input-logCode"> </div> <div class="col-2"> <?php echo $reeft_text0119 ?> </div> <div class="col-2"> <input class="form-control read-only-class" type="text" id="modal-input-logPgm" name="modal-input-logPgm"> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $reeft_text0120 ?> </div> <div class="col-10"> <textarea class="form-control read-only-class" id="modal-input-dataLine" name="modal-input-dataLine"></textarea> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $reeft_text0267 ?> </div> <div class="col-2"> <input class="form-control read-only-class" type="text" id="modal-input-fileMode" name="modal-input-fileMode"> </div> <div class="col-2"> <?php echo $reeft_text0266 ?> </div> <div class="col-6"> <input class="form-control read-only-class" type="text" id="modal-input-filePath" name="modal-input-filePath"> </div> </div> <div class="row mt-2"> <div class="col-2"> <?php echo $reeft_text0265 ?> </div> <div class="col-6"> <input class="form-control read-only-class" type="text" id="modal-input-fileName" name="modal-input-filename"> </div> <div class="col-2"> <button class="btn btn-primary" id="modal-showlog-btn" name="modal-showlog-btn" type="button" onclick="showlogfile()"><?php echo $reeft_button_view ?></button> </div> </div> <div class="row m-2 d-none" id="modal-logfile-data-result-wrapper" > <div class="col border border-dark p-2"> <div id="modal-logfile-data-result" class="overflow-class"></div> </div> </div </form> </div> <div class="modal-footer-pretty modal-footer"> <div class="container-fluid"> <div class="row"> <div class="col-12 text-left"> <div class="p-1 font-weight-bold text-danger border-top border-dark " id="modal-message">&nbsp;</div> </div> </div> <div class="row mt-1 mb-2"> <div class="col-3 text-left"> </div> <div class="col-6 text-right"> </div> <div class="col-3 text-right"> <button type="button" class="btn btn-primary btn-block" id="buttton-close-modal" data-dismiss="modal"><?php echo $reeft_button_cancel_01 ?></button> </div> </div> </div> </div> </div> </div> </div> <!-- ************************************************ --> <!-- Confirm delete --> <!-- ************************************************ --> <div class="modal fade" id="customerlog_confirmDeleteModal" tabindex="-1" role="dialog" aria-labelledby="customerlog_confirmDeleteModalLabel" aria-hidden="true"> <div class="modal-dialog modal-xl" role="document"> <div class="modal-content"> <div class="modal-header bg-primary text-white"> <h5 class="modal-title" id="customerlog_confirmDeleteModalLabel"><?php echo $reeft_text0063 ?></h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body"> <form name="dataForm-delete" id="dataForm-delete"> <input type="text" class="d-none" id="confirm-delete-timeStamp" name="confirm-delete-timeStamp"> </form> <div class="h6"><?php echo $reeft_text0062 ?>: <span class="font-weight-bold" id="confirm-delete-text-timeStamp"></span></div> </div> <div class="modal-footer"> <div class="container-fluid"> <div class="row mt-1 mb-2"> <div class="col-3 text-left"> <button type="button" onclick="dataDeleteExec()" class="btn btn-primary"><?php echo $reeft_button_delete ?></button> </div> <div class="col-6 text-right"> </div> <div class="col-3 text-right"> <button type="button" class="btn btn-primary" data-dismiss="modal"><?php echo $reeft_button_cancel_01 ?></button> </div> </div> </div> </div> </div> </div> </div> <!-- ************************************************ --> <!-- List log file --> <!-- ************************************************ --> <div class="modal fade" id="import_done_listLOGfileModal" data-keyboard="true" data-backdrop="static" tabindex="-1" role="dialog" aria-labelledby="import_done_listLOGfileModalLabel" aria-hidden="true" style="z-index: 1060;"> <div class="modal-dialog modal-xxl" role="document"> <div class="modal-content"> <div class="modal-header bg-primary text-white"> <h6 class="modal-title text-truncate" id="import_done_listLOGfileModalLabel"><i class="font-awesome-pseudo-class fa-thin fa-cloud-arrow-up"></i> <?php echo $reeft_text0265 ?> : <span id="modal-list-current-file"></span></h5> <!--<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span>--> <!--</button>--> <div id="modal-list-download-current-file"></div> </div> <div class="modal-body"> <div class="row mb-2"> <div class="col text-left"> <div class="font-weight-bold" id="modal-LOG-list-messasge"></div> </div> <div class="col text-right"> <div id="modal-LOG-list-progress"></div> </div> </div> <div class="row m-2"> <div class="col border border-dark p-2"> <div id="modal-LOG-list-data-result" class="overflow-class"></div> </div> </div> </div> <div class="modal-footer"> <div class="container-fluid"> <div class="row mt-1 mb-2"> <div class="col-3 text-left"> </div> <div class="col-6 text-right"> </div> <div class="col-3 text-right"> <button type="button" class="btn btn-primary" onclick="closeModalLOGlist()"><?php echo $reeft_button_cancel_01 ?></button> </div> </div> </div> </div> </div> </div> </div> </body> </html>